Чек-лист самопроверки
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
Чек-лист самопроверки
- Что такое ORM и для чего он предназначен?
- Какие две модели данных связывает ORM?
- Как класс в программе соотносится с таблицей в базе данных?
- Как объект соотносится со строкой в таблице?
- Как свойство объекта соотносится со столбцом таблицы?
- Что такое CRUD и какие операции он включает?
- Как ORM реализует операцию создания записи в БД?
- Как ORM реализует операцию чтения данных?
- Как ORM реализует обновление данных?
- Как ORM реализует удаление данных?
- Какие типы отношений между сущностями поддерживает ORM?
- Как ORM обрабатывает отношение «один-ко-многим»?
- Как ORM обрабатывает отношение «многие-ко-многим»?
- Что такое первичный ключ и как он отображается в ORM?
- Что такое внешний ключ и как ORM его использует?
- Что такое транзакция и зачем она нужна при работе с БД?
- Как ORM управляет состоянием объектов (Transient, Persistent, Detached)?
- Что такое Code First и в каких случаях он применяется?
- Что такое Database First и когда его стоит использовать?
- Что такое Model First и чем он отличается от других подходов?
- Какие преимущества даёт подход Code First?
- Какие недостатки у подхода Database First?
- Что такое миграция базы данных?
- Зачем нужны миграции в процессе разработки?
- Как создаётся миграция в современных ORM-фреймворках?
- Как применяется миграция к базе данных?
- Как откатывается миграция?
- Как ORM отслеживает, какие миграции уже применены?
- Что такое нормализация данных?
- Какие цели преследует нормализация?
- Что такое первая нормальная форма (1NF)?
- Что такое вторая нормальная форма (2NF)?
- Что такое третья нормальная форма (3NF)?
- Когда целесообразно применять нормализацию?
- Что такое денормализация данных?
- Какие цели преследует денормализация?
- В каких системах чаще применяется денормализация?
- Какие риски несёт денормализация?
- Что такое проблема несоответствия парадигм (Object-Relational Impedance Mismatch)?
- Почему наследование в ООП сложно отобразить в реляционной БД?
- Почему методы объекта не имеют прямого аналога в SQL?
- Какие недостатки у ORM с точки зрения производительности?
- Почему ORM может генерировать неоптимальные SQL-запросы?
- В каких случаях лучше отказаться от ORM в пользу «сырого» SQL?
- Что такое Query Builder и чем он отличается от ORM?
- Что такое Data Mapper и как он связан с ORM?
- Можно ли комбинировать ORM с другими подходами к работе с БД?
- Какие популярные ORM существуют для языка C#?
- Какие популярные ORM существуют для Python и Java?
- Как ORM помогает обеспечить безопасность при работе с БД (например, защита от SQL-инъекций)?